#ifndef _GUARD_LOGIC_
#define _GUARD_LOGIC_
#include "Card.h"
#include "Deck.h"
#include "Player.h"
#include "Table.h"
class Logic
{
  public:
    //void continueUntilPause();
    Deck getActives();
    int getGameWinner();
    set<Player*> getMovingPlayers();
    set<Player*> getWarringPlayers();
    void processSoloMove(); /* Unknown signature. */
    void removeSpoils();
    void setActive(Card*, Player*);
    void setTable(Table*);
    void taxPlayer(Player*, int numberOfCards);

  private:
    void doBattle();
    bool doTick();
    void doWar();
    vector<Player*> evaluateTable();
    void giveBattleReward(Player* winner);
    Table* table;
};
#endif
